home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d880.lha / Oberon / O3Demo2.lzh / Examples / Mandel.mod < prev    next >
Text File  |  1993-01-15  |  635b  |  29 lines

  1. MODULE Mandel;
  2.  
  3. IMPORT xy : XYplane;
  4.  
  5. VAR
  6.   zr,zi,ar,ai,dr,di,sr,si,st: LONGINT;
  7.   x, y, i: INTEGER;
  8.  
  9. BEGIN
  10.   sr := 300000H DIV xy.W; si := 200000H DIV xy.H;
  11.   st := -2*100000H; zi := 100000H;
  12.   FOR y := 0 TO xy.H-1 DO
  13.     IF CAP(xy.Key())="Q" THEN HALT(0) END;
  14.     DEC(zi,si); zr := st;
  15.     FOR x := 0 TO xy.W-1 DO
  16.       i := 0; ar := zr; ai := zi;
  17.       REPEAT
  18.         dr := ar DIV 400H; di := ai DIV 400H;
  19.         ai := 2 * dr * di + zi;
  20.         dr := dr*dr; di := di*di;
  21.         ar := dr - di + zr;
  22.         INC(i)
  23.       UNTIL (i > 17) OR (dr + di > 400000H);
  24.       xy.Dot(x,y,i MOD 2);
  25.       INC(zr,sr);
  26.     END;
  27.   END
  28. END Mandel.
  29.